function getGridPanel() {
	var win;
	
	var vstore = new Ext.data.JsonStore({
		autoDestroy : true,
		url : 'empList.action',
		storeId : 'myStore',
		// reader configs
		root : 'images',
		totalProperty : 'rowCount',
		idProperty : 'iEmp',
		fields : ['IEmp','CEmpNo','CUserName','CPassword','ILeaveStatus',
		'CCreator','DCreate','CModifiedBy','DModified','DBirthday','ISex',
		'CEnglishName','CContactType','CContactType1','CContactType2','CRegistedAddr',
		'CHomeAddr1','CHomeAddr2','CEmail','CEmail1','CEmail2','DCurLogin',
		'DLastLogin','CHomeAddr','ILoginTimes','COrgId','CRoleCode']
		});

	var grid = new Ext.grid.GridPanel({
		title : "用户信息管理",
		store : vstore,
		tbar : [{ 	
			text : "新建",
			handler : addEmp
		}, "-", {
			text : "修改",
			handler : modifyEmp
		}, "-", {
			text : "删除",
			handler : deleteEmp
		}],
		colModel : new Ext.grid.ColumnModel({
			defaults : {
				width : 120,
				sortable : true
			},
			columns : [new Ext.grid.RowNumberer(), {
				header : '员工号',
				width : 50,
				dataIndex : 'CEmpNo'
			}, {
				header : '用户名',
				width : 50,
				dataIndex : 'CUserName'
			}, {
				header : '密码',
				width : 50,
				dataIndex : 'CPassword'
			}, {
				header : '状态',
				width : 50,
				dataIndex : 'ILeaveStatus'
			}, {
				header : '新建人',
				width : 50,
				dataIndex : 'CCreator'
			}, {
				header : '新建时间',
				width : 50,
				dataIndex : 'DCreate'
			}, {
				header : '修改人',
				width : 50,
				dataIndex : 'CModifiedBy'
			}, {
				header : '修改时间',
				width : 50,
				dataIndex : 'DModified'
			}, {
				header : '出生日期',
				width : 50,
				dataIndex : 'DBirthday'
			}, {
				header : '性别',
				width : 50,
				dataIndex : 'ISex'
			}, {
				header : '英文名',
				width : 50,
				dataIndex : 'CEnglishName'
			}, {
				header : '联系方式一',
				width : 50,
				dataIndex : 'CContactType'
			}, {
				header : '联系方式二',
				width : 50,
				dataIndex : 'CContactType1'
			}, {
				header : '联系方式三',
				width : 50,
				dataIndex : 'CContactType12'
			}, {
				header : '注册地址',
				width : 50,
				dataIndex : 'CRegistedAddr'
			}, {
				header : '家庭住址一',
				width : 50,
				dataIndex : 'CHomeAddr'
			}, {
				header : '家庭住址二',
				width : 50,
				dataIndex : 'CHomeAddr1'
			}, {
				header : '家庭住址三',
				width : 50,
				dataIndex : 'CHomeAddr2'
			}, {
				header : '电子邮件一',
				width : 50,
				dataIndex : 'CEmail'
			}, {
				header : '电子邮件二',
				width : 50,
				dataIndex : 'CEmail1'
			}, {
				header : '电子邮件三',
				width : 50,
				dataIndex : 'CEmail2'
			}, {
				header : '组织号',
				width : 50,
				dataIndex : 'COrgId'
			}, {
				header : '角色代码',
				width : 50,
				dataIndex : 'CRoleCode'
			}]
		}),
		viewConfig : {
			forceFit : true
		},
		sm : new Ext.grid.RowSelectionModel({
			singleSelect : true
		}),
		width : 600,
		height : 300,
		frame : true,
		iconCls : 'icon-grid',
		bbar : new Ext.PagingToolbar({
			store : vstore, // grid and PagingToolbar using same store
			pageSize : 10
		})

	});
	vstore.load();
	
	var getRowIndex = new Ext.grid.RowSelectionModel({
	listeners:{
		rowselect:function(sm,row,rec){
			alert(row+1);
			vstore.indexOf(rec);
		}
	}
	})
	
	new Ext.Viewport({
		layout : "fit",
		items : grid
	});

	function addEmp() {
		win = new Ext.Window({
			labelAlign : 'top',
			title : '基本信息',
			modal : true,
			width : 400,
			height : 500,
			layout:'fit'
		});
		var fpanel = new Ext.form.FormPanel({
				autoScroll :true,
				items : [{
					layout : 'form',
					items : [{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;员工号',
						name : 'CEmpNo'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;用户名',
						name : 'CUserName'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;密码',
						name : 'CPassword'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;状态',
						name : 'ILeaveStatus'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;新建人',
						name : 'CCreator'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;修改人',
						name : 'CModifiedBy'
					},{
						xtype : 'datetimefield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;出生日期',
						name : 'DBirthday',
						format:'H:i'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;性别',
						name : 'ISex'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;英文名',
						name : 'CEnglishName'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式一',
						name : 'CContactType'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式二',
						name : 'CContactType1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式三',
						name : 'CContactType2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;注册地址',
						name : 'CRegistedAddr'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址一',
						name : 'CHomeAddr'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址二',
						name : 'CHomeAddr1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址三',
						name : 'CHomeAddr2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件一',
						name : 'CEmail'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件二',
						name : 'CEmail1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件三',
						name : 'CEmail2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;组织号',
						name : 'COrgId'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;角色代码',
						name : 'CRoleCode'
					}]
			}],

			buttons : [{
				text : '保存',
				handler : insertEmp
			}, {
				text : '重置',
				handler : resetWin
			}, {
				text : '取消',
				handler : closeWin
			}]
		})
		win.add(fpanel);
		win.show();
	}

	function modifyEmp() {	
		win = new Ext.Window({
			labelAlign : 'top',
			title : '基本信息',
			modal : true,
			width : 400,
			height : 500,
			layout:'fit'
		});
		var fpanel = new Ext.form.FormPanel({
				autoScroll:true,
				items : [{
					layout : 'form',
					items : [{
						xtype : 'hidden',
						name : 'IEmp'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;员工号',
						name : 'CEmpNo'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;用户名',
						name : 'CUserName'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;密码',
						name : 'CPassword'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;状态',
						name : 'ILeaveStatus'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;新建人',
						name : 'CCreator'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;新建时间',
						readOnly:true,
						name : 'DCreate'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;修改人',
						name : 'CModifiedBy'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;修改时间',
						readOnly:true,
						name : 'DModified'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;出生日期',
						name : 'DBirthday'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;性别',
						name : 'ISex'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;英文名',
						name : 'CEnglishName'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式一',
						name : 'CContactType'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式二',
						name : 'CContactType1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;联系方式三',
						name : 'CContactType2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;注册地址',
						name : 'CRegistedAddr'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址一',
						name : 'CHomeAddr'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址二',
						name : 'CHomeAddr1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;家庭住址三',
						name : 'CHomeAddr2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件一',
						name : 'CEmail'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件二',
						name : 'CEmail1'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;电子邮件三',
						name : 'CEmail2'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;当前登录时间',
						name : 'DCurLogin'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;最后登录时间',
						name : 'DLastLogin'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;登录次数',
						name : 'ILoginTimes'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;组织号',
						name : 'COrgId'
					},{
						xtype : 'textfield',
						width:250,
						fieldLabel : '&nbsp;&nbsp;&nbsp;&nbsp;角色代码',
						name : 'CRoleCode'
					}]
			}],
			buttons : [{
				text : '保存',
				handler : saveEmp
			}, {
				text : '取消',
				handler : function() {
					win.close();
				}
			}]
		})
		var record = grid.getSelectionModel().getSelected();
		if(record==null||record==undefined){
			Ext.MessageBox.alert("提示", "请先选择一条记录！");
			return;
		}
		win.add(fpanel);
		win.show();
		win.getComponent(0).getForm().loadRecord(record);
	}

	function deleteEmp() {
		var record = grid.getSelectionModel().getSelected();
		if(record==null||record==undefined){
			Ext.MessageBox.alert("提示", "请先选择一条记录！");
			return;
		}
		var id = record.get('IEmp');
		Ext.Ajax.request({
			url : 'deleteEmp.action',
			params : {
				kid : id
			},
			callback : function() {
				Ext.Msg.alert('Success', "已经删除");
				vstore.reload();
			}
		})
	}

	function goBack() {

	}

	function saveEmp() {
		win.getComponent(0).getForm().submit({
			url : "updateEmp.action",
			success: function(form, action) {
       			Ext.Msg.alert('Success', action.result.msg);
       			win.close();
       			vstore.reload();
   			 },
    		failure: function(form, action) {
                Ext.Msg.alert('Failure', action.result.msg);
                win.close();
       			vstore.reload();
      		 }
		})
	}
	
	function insertEmp() {
		win.getComponent(0).getForm().submit({
			url : "insertEmp.action",
			success: function(form, action) {
       			Ext.Msg.alert('Success', action.result.msg);
       			win.close();
       			vstore.reload();
   			 },
    		failure: function(form, action) {
                Ext.Msg.alert('Failure', action.result.msg);
                win.close();
       			vstore.reload();
      		 }
		})
	}
	
	 function closeWin() {
					win.close();
				}
				
	 function resetWin() {
		win.getComponent(0).getForm().reset();
	}
}
